home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / qbprog.EXE / SIRALA.BAS < prev    next >
BASIC Source File  |  1980-01-10  |  2KB  |  60 lines

  1. 'Bu program türke karakterlerin yer aldìºì stringleri sìralar
  2.  
  3. '============================= Tanìmlar ============================
  4. Enson = 5     'Toplam veri sayìsì
  5. Nerden = 1    'Kaçìncì karakter baz alìnacak
  6. Uzunluk = 50  'En uzun verinin boyu
  7. Tercih = 1    'Küçükten büyüºe ters sìralama
  8.               '1 den farklì ise düz sìralama yapar
  9.  
  10. REDIM Veri$(Enson)
  11.  
  12. Veri$(1) = "Çamlìbel"
  13. Veri$(2) = "Ceyhan"
  14. Veri$(3) = "çalìƒma"
  15. Veri$(4) = "çalìƒdì"
  16. Veri$(5) = "deneme"
  17. '========================= Sìralama  programì ==========================
  18. CLS : PRINT "Sìralama yapìyorum"
  19. FOR I = 1 TO Enson: FOR Y = 1 TO Enson: FOR z = Nerden TO Uzunluk
  20.   Veri$(Y) = LEFT$(Veri$(Y) + SPACE$(Uzunluk), Uzunluk)
  21.   Veri$(I) = LEFT$(Veri$(I) + SPACE$(Uzunluk), Uzunluk)
  22.   B = ASC(MID$(Veri$(Y), z, 1)): C = ASC(MID$(Veri$(I), z, 1))
  23.   IF B <> C THEN
  24.         SELECT CASE CHR$(B)
  25.             CASE "ç", "Ç": B = 67.5
  26.             CASE "º", "ª": B = 71.5
  27.             CASE "i", "ÿ": B = 73.5
  28.             CASE "ö", "Ö": B = 79.5
  29.             CASE "ƒ", "₧": B = 83.5
  30.             CASE "ü", "Ü": B = 85.5
  31.             CASE "I": B = 73
  32.             CASE ELSE: B = (223 AND B)
  33.         END SELECT
  34.         SELECT CASE CHR$(C)
  35.             CASE "ç", "Ç": C = 67.5
  36.             CASE "º", "ª": C = 71.5
  37.             CASE "i", "ÿ": C = 73.5
  38.             CASE "ö", "Ö": C = 79.5
  39.             CASE "ƒ", "₧": C = 83.5
  40.             CASE "ü", "Ü": C = 85.5
  41.             CASE "I": C = 73
  42.             CASE ELSE: C = (223 AND C)
  43.         END SELECT
  44.         SELECT CASE B
  45.             CASE C
  46.             CASE ELSE
  47.                SELECT CASE Tercih
  48.                   CASE 1
  49.                      IF B < C THEN SWAP Veri$(I), Veri$(Y)
  50.                   CASE ELSE
  51.                      IF B > C THEN SWAP Veri$(I), Veri$(Y)
  52.                END SELECT
  53.             EXIT FOR
  54.         END SELECT
  55.   END IF
  56. NEXT: NEXT: NEXT
  57. '=============================Ekrana döküm ========================
  58.  CLS : FOR I = 1 TO Enson: PRINT Veri$(I): NEXT
  59.  
  60.